home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright (c) 1991, 1992 by NeXT Computer, Inc as an unpublished work.
- All rights reserved.
- */
-
- #import <objc/Object.h>
- #import <objc/HashTable.h>
- #import <ri/ri.h>
-
- @interface N3DContextManager : Object
- {
- RtToken mainContext; /* the main context (not kept in list) */
- id contextTable; /* a hash table of contexts */
- RtToken currentContext;
- id _focussedCamera;
- RtPointer _reserved;
- void *_N3Dprivate;
- }
-
- + new;
- - free;
-
- /* The following 4 methods cause a new context to be created (and entered
- into the RMan contexts dictionary). You can pass a null pointer as the
- context name, and a unique string will be invented for the context name.
- If a new context cannot be created for any reason, N3D_Null is returned.
- */
- - (RtToken)mainContext;
- - (RtToken)createContext:(const char *)name;
- - (RtToken)createContext:(const char *)name withRenderer:(RtToken)renderer;
- - (RtToken)createContext:(const char *)name toFile:(const char *)ribFileName;
- - (RtToken)createContext:(const char *)name toStream:(NXStream *)stm;
- - (void)destroyContext:(RtToken)aContext;
- - (void)destroyContextByName:(const char *)name;
-
- /* Methods for switching to a context, and for finding out which one
- is current. setCurrentContext: returns the token for the previous context. */
- - (RtToken)setCurrentContext:(RtToken)aContext;
- - (RtToken)setCurrentContextByName:(const char *)name;
- - (RtToken)currentContext;
-
- - awake;
-
- @end
-